Various code generators in existence today create rigid ways to integrate computer and human generated code. The various code generators fall into three areas: single-use generators, generators with areas for custom code, and generators with inheritance architecture. Single-use generators are typically used in the beginning of a project. If the single-use generator is reused the second time, the subsequent code generation rewrites 100% of the previously written code. Generators with areas for custom code designate code areas in which human code can be inserted. With this rigid approach, changing the design and/or architecture of the code is extremely difficult. Generators with inheritance structures designate specific parts of code which can be inherited in such a way that the behavior of the inherited code can be changed. The primary disadvantage of the generator with inheritance structures is that the design and/or architecture is suboptimal and fixed, and a developer can only make changes in a designated area as defined by the inheritance structures.